<?php

Yii::import('gii.components.UserIdentity');

class LoginForm extends CFormModel
{
    public $password;

    private $_identity;

    public function rules()
    {
        return array(
        array('password', 'required'),
        array('password', 'authenticate'),
        );
    }

    /**
     * Authenticates the password.
     * This is the 'authenticate' validator as declared in rules().
     */
    public function authenticate($attribute,$params)
    {
        $this->_identity=new UserIdentity('yiier',$this->password);
        if(!$this->_identity->authenticate())
        $this->addError('password','Incorrect password.');
    }

    /**
     * Logs in the user using the given password in the model.
     * @return boolean whether login is successful
     */
    public function login()
    {
        if($this->_identity===null)
        {
            $this->_identity=new UserIdentity('yiier',$this->password);
            $this->_identity->authenticate();
        }
        if($this->_identity->errorCode===UserIdentity::ERROR_NONE)
        {
            Yii::app()->user->login($this->_identity);
            return true;
        }
        else
        return false;
    }
}
